
package com.be.beadmin.service.service;

import com.be.beadmin.common.entity.PageEntity;
import com.be.beadmin.service.dto.input.SerialNumberDto;
import com.be.beadmin.service.dto.output.SerialNumberEx;
import org.springframework.data.domain.Page;

import java.util.List;

/**
* @description 服务接口
* @author chenwei
* @date 2023-01-16
**/
public interface SerialNumberService {

    /**
    * 分页的查询接口
    * @param pageEntity
    * @return
    */
    Page<SerialNumberEx> getSerialNumberByPage(PageEntity pageEntity);

    /**
    * @param serialNumberDto
    */
    void addSerialNumber(SerialNumberDto serialNumberDto);

    /**
    * @param serialNumberDto
    */
    void updateSerialNumber(SerialNumberDto serialNumberDto);

    /**
    * @param id
    */
    void delSerialNumber(String id);

    /**
    * 删除多个角色
    * @param ids
    */
    void delSerialNumbers (List<String> ids);




    /**
     * 根据编码获取最新的Sn号
     * @param code
     * @return
     */
    String getNextSnByCode(String code);


    /**
     * 根据编码获取下一个的Sn号，但不保存
     * @param code
     * @return
     */
    public String getNextSnByCodeNotSave(String code);
    /**
     * 根据Code获取Sn
     * @param code
     * @return
     */
    List<String> getRangeSnByCode(String code, Integer range);

    /**
     * 删除指定项目下的所有流水编码
     * @param infoId
     */
    void deleteSerialNumberByInfo(String infoId);
}